Option Explicit
Sub F_Sample039()
    'Microsoft DAO 3.6 Object Library ]wޥζ
    'ոF_Data.mdb
    Dim myDb       As DAO.Database
    Dim myQry      As DAO.QueryDef
    Dim myPrm      As DAO.Parameter
    Dim i          As Long
    Dim j          As Long
    Dim myFileName As String
    myFileName = "F_Data.mdb"               'wɮצW
    Set myDb = OpenDatabase(ThisWorkbook.Path & "\" & myFileName)
    Worksheets.Add                      'u@sW
    'wgXؼЪ
    Columns(3).ColumnWidth = 90
    Cells(1, 1).Resize(, 4).Value = _
         Array("QRY_NAME", "PRM_NAME", "SQL/TYP", "DIR")
    i = 2
    For Each myQry In myDb.QueryDefs
        With myQry
            Cells(i, 1).Resize(, 3).Value = _
            Array(.Name, GetQryConstStr_DAO(.Type), .Sql) 'd߱`ഫ
        End With
        i = i + 1
        j = 1
        For Each myPrm In myQry.Parameters
            With myPrm
                Cells(i, 1).Resize(, 4).Value = _
                Array(j, .Name, GetConstStr_DAO(.Type), .Direction)
            End With
            i = i + 1: j = j + 1
        Next myPrm
        i = i + 1
    Next myQry
    myDb.Close
    Set myPrm = Nothing                     '
    Set myQry = Nothing
    Set myDb = Nothing
End Sub
Function GetQryConstStr_DAO(myInt As Integer) As String
    Dim myStr As String
    Select Case myInt
        Case 0: myStr = "dbQSelect"
        Case 224: myStr = "dbQProcedure"
        Case 240: myStr = "dbQAction"
        Case 16: myStr = "dbQCrosstab"
        Case 32: myStr = "dbQDelete"
        Case 48: myStr = "dbQUpdate"
        Case 64: myStr = "dbQAppend"
        Case 80: myStr = "dbQMakeTable"
        Case 96: myStr = "dbQDDL"
        Case 112: myStr = "dbQSQLPassThrough"
        Case 128: myStr = "dbQSetOperation"
        Case 144: myStr = "dbQSPTBulk"
        Case 160: myStr = "dbQCompound"
        Case Else: myStr = ""
    End Select
    GetQryConstStr_DAO = myStr
End Function
Function GetConstStr_DAO(myInt As Integer) As String
    Dim myStr As String
    Select Case myInt
        Case 1: myStr = "dbBoolean"
        Case 2: myStr = "dbByte"
        Case 3: myStr = "dbInteger"
        Case 4: myStr = "dbLong"
        Case 5: myStr = "dbCurrency"
        Case 6: myStr = "dbSingle"
        Case 7: myStr = "dbDouble"
        Case 8: myStr = "dbDate"
        Case 9: myStr = "dbBinary"
        Case 10: myStr = "dbText"
        Case 11: myStr = "dbLongBinary"
        Case 12: myStr = "dbMemo"
        Case 15: myStr = "dbGUID"
        Case 16: myStr = "dbBigInt"
        Case 17: myStr = "dbVarBinary"
        Case 18: myStr = "dbChar"
        Case 19: myStr = "dbNumeric"
        Case 20: myStr = "dbDecimal"
        Case 21: myStr = "dbFloat"
        Case 22: myStr = "dbTime"
        Case 23: myStr = "dbTimeStamp"
        Case Else: myStr = ""
    End Select
    GetConstStr_DAO = myStr
End Function

